package com.epoint.utils.template.delete;

public abstract class DeleteTemplate
{

    /**
         * 获取连接和数据库操作对象statement
     */
    abstract void getConnection();

    /**
         * 执行sql返回结果
     * @param sql sql
     * @param id 要删除的id（多删除只需id间用，隔开）
     * @return
     */
    abstract int deleteData(String sql, String id);

    /**
         * 释放资源
     */
    abstract void closeConnection();

    /**
         * 这里是指执行上面方法的规则，一般不能让子类随意更改所以用关键字final修饰
     * @param sql sql
     * @param id 要删除的id（多删除只需id间用，隔开）
     * @return
     */
    public final int executeSql(String sql, String id) {
        getConnection();
        int i = deleteData(sql, id);
        closeConnection();
        return i;
    }

}
